// ==UserScript==
// @name 【智狐】全网VIP视频解析无广告播放,支持B站大会员番剧、视频解析下载,全网独创自由选择自动解析接口|短视频无水印下载|淘宝、天猫、京东优惠券查询|更多功能持续更新中
// @namespace http://www.zhihupe.com/
// @version 0.56
// @author zhihu
// @description 【❤️ 视频自动解析,体会拥有VIP的感觉❤️,适配PC+移动 】功能有:1、支持B站大会员番剧,全网独创自由选择自动解析接口;2、爱奇艺、腾讯、优酷、芒果等全网VIP视频免费解析去广告(免跳出观影特方便);3.B站多P下载;抖音、西瓜视频、快手无水印下载;4.淘宝、天猫、京东优惠券查询
// @icon https://www.zhihupe.com/favicon.ico
// @match *://laisoyiba.com/*
// @match *://*.youku.com/v_*
// @match *://*.iqiyi.com/v_*
// @match *://*.iqiyi.com/w_*
// @match *://*.iqiyi.com/a_*
// @match *://v.qq.com/x/cover/*
// @match *://v.qq.com/x/page/*
// @match *://v.qq.com/tv/*
// @match *://*.mgtv.com/b/*
// @match *://*.bilibili.com/video/*
// @match *://*.bilibili.com/bangumi/play/*
// @match *://www.le.com/ptv/vplay/*
// @match *://m.v.qq.com/x/cover/*
// @match *://m.v.qq.com/x/page/*
// @match *://m.v.qq.com/x/m/play*
// @match *://m.v.qq.com/play*
// @match *://m.v.qq.com/x/play*
// @match *://m.iqiyi.com/v_*
// @match *://m.iqiyi.com/w_*
// @match *://m.iqiyi.com/a_*
// @match *://m.youku.com/alipay_video/*
// @match *://m.youku.com/video/*
// @match *://m.mgtv.com/b/*
// @match *://m.bilibili.com/video/*
// @match *://m.bilibili.com/anime/*
// @match *://m.bilibili.com/bangumi/play/*
// @match *://m.le.com/vplay_*
// @match *://item.taobao.com/*
// @match *://*detail.tmall.com/*
// @match *://*detail.tmall.hk/*
// @match *://*item.jd.com/*
// @match *://npcitem.jd.hk/*
// @match *://*.yiyaojd.com/*
// @match *://*.douyin.com/video/*
// @match *.kuaishou.com/short-video/*
// @match *.kuaishou.com/video/*
// @match *.ixigua.com/*
// @connect tool.zhihupe.com
// @connect 47.99.158.118
// @connect api.bilibili.com
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
// @grant GM_openInTab
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_setClipboard
// @grant GM_download
// @grant unsafeWindow
// @run-at document-body
// @license End-User License Agreement
// @antifeature referral-link 【此提示为GreasyFork代码规范要求含有查券功能的脚本必须添加,实际使用无任何强制跳转,代码可查,请知悉】
// ==/UserScript==
(function() {
'use strict';
//最终用户许可协议 End-User License Agreement
// * Copyright (c) 2021-2022 zhihu. All Rights Reserved.
// * Proprietary and Confidential.
// * 该项目介绍、说明书、脚本代码、思路及其他相关
// 内容版权归作者所有,未经作者本人书面授权,禁
// 止任何单位或个人以任何形式、任何手段或通过任
// 何方式(净室工程、手工、图片、电子、机械、磁
// 性、化学、光学、声学或其它方式)抄袭、摘编、
// 编辑、修改、结集、出版、再版、转录、转载、爬
// 虫爬取、重制、仿制、复制、复写、复印、影印、
// 拷贝、刻录、建立镜像、粘贴、张贴、派发、录音、
// 用来创建派生作品、与其它任何资料进行合并、翻
// 译成任何电脑语言或以其他任何方式用于商业或公
// 共目的。
// * 该项目仅仅准许您善意的使用,其他任何行为都是
// 禁止的。
// * zhihu从未授权任何组织或个人使用本项目脚本
// 部分或全部代码创建作品。
var Insidehtml = "";
var Outsidehtml = "";
var selecthtml = "";
var mobhtml = "";
var PlayID = "";
var jiexi;
var playhref = window.location.href;
var host = window.location.host;
var goodid = "";
var method, action, qrname, nodeid,videoid;
var UA = navigator.userAgent;
if (UA.indexOf('Android') > -1 || UA.indexOf('Linux') > -1||UA.indexOf('iPhone') > -1||UA.indexOf('Windows Phone') > -1) {
var com = "wap";
} else {
com = "pc";
}
const playList = [
//{
// "id": "1",
// "name": "高速/B站",
// "category": 1,
// "url": "https://jx.playerjy.com/?url=",
// "showType": 3
//},
{
"id": "9",
"name": "M3U8.TV",
"category": 1,
"url": "https://jx.m3u8.tv/jiexi/?url=",
"showType": 3
},
{
"id": "55",
"name": "纯净/B站",
"category": 1,
"url": "https://z1.m1907.cn/?jx=",
"showType": 3
},
{
"id": "2",
"name": "高速接口",
"category": 1,
"url": "https://jsap.attakids.com/?url=",
"showType": 3
},
{
"id": "3",
"name": "综合/B站",
"category": 1,
"url": "https://vip.parwix.com:4433/player/?url=",
"showType": 3
},
{
"id": "4",
"name": "OK解析",
"category": 1,
"url": "https://okjx.cc/?url=",
"showType": 3
},
{
"id": "5",
"name": "夜幕",
"category": 1,
"url": "https://www.yemu.xyz/?url=",
"showType": 3
},
{
"id": "6",
"name": "乐多资源",
"category": 1,
"url": "https://api.leduotv.com/wp-api/ifr.php?isDp=1&vid=",
"showType": 3
},
{
"id": "7",
"name": "爱豆",
"category": 1,
"url": "https://jx.aidouer.net/?url=",
"showType": 1
},
{
"id": "8",
"name": "虾米",
"category": 1,
"url": "https://jx.xmflv.com/?url=",
"showType": 1
},
{
"id": "10",
"name": "人人迷",
"category": 1,
"url": "https://jx.blbo.cc:4433/?url=",
"showType": 3
},
{
"id": "11",
"name": "全民",
"category": 1,
"url": "https://jx.blbo.cc:4433/?url=",
"showType": 3
},
{
"id": "12",
"name": "七哥",
"category": 1,
"url": "https://jx.mmkv.cn/tv.php?url=",
"showType": 3
},
{
"id": "13",
"name": "冰豆",
"category": 1,
"url": "https://api.qianqi.net/vip/?url=",
"showType": 3
},
{
"id": "14",
"name": "迪奥",
"category": 1,
"url": "https://123.1dior.cn/?url=",
"showType": 1
},
{
"id": "15",
"name": "CK",
"category": 1,
"url": "https://www.ckplayer.vip/jiexi/?url=",
"showType": 1
},
{
"id": "16",
"name": "游艺",
"category": 1,
"url": "https://api.u1o.net/?url=",
"showType": 1
},
{
"id": "17",
"name": "LE",
"category": 1,
"url": "https://lecurl.cn/?url=",
"showType": 1
},
{
"id": "18",
"name": "ckmov",
"category": 1,
"url": "https://www.ckmov.vip/api.php?url=",
"showType": 1
},
{
"id": "19",
"name": "playerjy/B站",
"category": 1,
"url": "https://jx.playerjy.com/?url=",
"showType": 3
},
{
"id": "20",
"name": "ccyjjd",
"category": 1,
"url": "https://ckmov.ccyjjd.com/ckmov/?url=",
"showType": 1
},
{
"id": "21",
"name": "爱豆",
"category": 1,
"url": "https://jx.aidouer.net/?url=",
"showType": 1
},
{
"id": "22",
"name": "诺诺",
"category": 1,
"url": "https://www.ckmov.com/?url=",
"showType": 1
},
{
"id": "23",
"name": "H8",
"category": 1,
"url": "https://www.h8jx.com/jiexi.php?url=",
"showType": 1
},
{
"id": "24",
"name": "BL",
"category": 1,
"url": "https://vip.bljiex.com/?v=",
"showType": 1
},
{
"id": "25",
"name": "解析la",
"category": 1,
"url": "https://api.jiexi.la/?url=",
"showType": 1
},
{
"id": "26",
"name": "MUTV",
"category": 1,
"url": "https://jiexi.janan.net/jiexi/?url=",
"showType": 1
},
{
"id": "27",
"name": "MAO",
"category": 1,
"url": "https://www.mtosz.com/m3u8.php?url=",
"showType": 1
},
{
"id": "28",
"name": "老板",
"category": 1,
"url": "https://vip.laobandq.com/jiexi.php?url=",
"showType": 1
},
{
"id": "29",
"name": "盘古",
"category": 1,
"url": "https://www.pangujiexi.cc/jiexi.php?url=",
"showType": 1
},
{
"id": "30",
"name": "盖世",
"category": 1,
"url": "https://www.gai4.com/?url=",
"showType": 1
},
{
"id": "31",
"name": "小蒋",
"category": 1,
"url": "https://www.kpezp.cn/jlexi.php?url=",
"showType": 1
},
{
"id": "32",
"name": "YiTV",
"category": 1,
"url": "https://jiexi.us/?url=",
"showType": 1
},
{
"id": "33",
"name": "星空",
"category": 1,
"url": "http://60jx.com/?url=",
"showType": 1
},
{
"id": "34",
"name": "0523",
"category": 1,
"url": "https://go.yh0523.cn/y.cy?url=",
"showType": 1
},
{
"id": "35",
"name": "17云",
"category": 1,
"url": "https://www.1717yun.com/jx/ty.php?url=",
"showType": 1
},
{
"id": "36",
"name": "4K",
"category": 1,
"url": "https://jx.4kdv.com/?url=",
"showType": 1
},
{
"id": "37",
"name": "云析",
"category": 1,
"url": "https://jx.yparse.com/index.php?url=",
"showType": 1
},
{
"id": "38",
"name": "8090",
"category": 1,
"url": "https://www.8090g.cn/?url=",
"showType": 1
},
{
"id": "39",
"name": "江湖",
"category": 1,
"url": "https://api.jhdyw.vip/?url=",
"showType": 1
},
{
"id": "40",
"name": "诺讯",
"category": 1,
"url": "https://www.nxflv.com/?url=",
"showType": 1
},
{
"id": "41",
"name": "PM",
"category": 1,
"url": "https://www.playm3u8.cn/jiexi.php?url=",
"showType": 1
},
{
"id": "42",
"name": "奇米",
"category": 1,
"url": "https://qimihe.com/?url=",
"showType": 1
},
{
"id": "43",
"name": "思云",
"category": 1,
"url": "https://jx.ap2p.cn/?url=",
"showType": 1
},
{
"id": "44",
"name": "听乐",
"category": 1,
"url": "https://jx.dj6u.com/?url=",
"showType": 1
},
{
"id": "45",
"name": "aijx",
"category": 1,
"url": "https://jiexi.t7g.cn/?url=",
"showType": 1
},
{
"id": "46",
"name": "52",
"category": 1,
"url": "https://vip.52jiexi.top/?url=",
"showType": 1
},
{
"id": "47",
"name": "黑米",
"category": 1,
"url": "https://www.myxin.top/jx/api/?url=",
"showType": 1
},
{
"id": "48",
"name": "豪华啦",
"category": 1,
"url": "https://api.lhh.la/vip/?url=",
"showType": 1
},
{
"id": "49",
"name": "凉城",
"category": 1,
"url": "https://jx.mw0.cc/?url=",
"showType": 1
},
{
"id": "50",
"name": "33t",
"category": 1,
"url": "https://www.33tn.cn/?url=",
"showType": 1
},
{
"id": "51",
"name": "180",
"category": 1,
"url": "https://jx.000180.top/jx/?url=",
"showType": 1
},
{
"id": "52",
"name": "无名",
"category": 1,
"url": "https://www.administratorw.com/video.php?url=",
"showType": 1
},
{
"id": "53",
"name": "黑云",
"category": 1,
"url": "https://jiexi.380k.com/?url=",
"showType": 1
},
{
"id": "54",
"name": "九八",
"category": 1,
"url": "https://jx.youyitv.com/?url=",
"showType": 1
},
{
"id": "56",
"name": "综合线路",
"category": 2,
"url": "https://laisoyiba.com/mov/s/?sv=3&url=",
"showType": 1
},
{
"id": "57",
"name": "纯净/B站",
"category": 2,
"url": "https://z1.m1907.cn/?jx=",
"showType": 1
},
{
"id": "58",
"name": "高速接口",
"category": 2,
"url": "https://jsap.attakids.com/?url=",
"showType": 1
},
{
"id": "59",
"name": "综合/B站1",
"category": 2,
"url": "https://vip.parwix.com:4433/player/?url=",
"showType": 1
},
{
"id": "60",
"name": "OK解析",
"category": 2,
"url": "https://okjx.cc/?url=",
"showType": 1
},
{
"id": "61",
"name": "夜幕",
"category": 2,
"url": "https://www.yemu.xyz/?url=",
"showType": 1
},
{
"id": "62",
"name": "虾米",
"category": 2,
"url": "https://jx.xmflv.com/?url=",
"showType": 1
},
{
"id": "63",
"name": "全民",
"category": 2,
"url": "https://jx.quanmingjiexi.com/?url=",
"showType": 1
},
];
function Toast(msg, duration = 3000) {
var m = document.createElement('div');
m.innerHTML = msg;
m.setAttribute('id','msg');
m.style.cssText = "max-width:60%;min-width: 150px;padding:0 14px;min-height: 40px;color: rgb(255, 255, 255);line-height: 40px;text-align: center;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 999999;background: rgba(0, 0, 0,.7);font-size: 16px;";
document.body.appendChild(m);
setTimeout(() => {
var d = 0.5;
m.style.webkitTransition = '-webkit-transform ' + d + 's ease-in, opacity ' + d + 's ease-in';
m.style.opacity = '0';
setTimeout(() => { document.body.removeChild(document.querySelector("#msg")) }, d * 1000);
}, duration);
}
function GMiosgetValue(name) {
if(UA.indexOf('iPhone') > -1){
let StorageValue = localStorage.getItem(name);
return StorageValue;
}else{
let StorageValue = GM_getValue(name);
return StorageValue;
}
}
function GMiossetValue(name, Value) {
if(UA.indexOf('iPhone') > -1){
localStorage.setItem(name, Value);
}else{
GM_setValue(name, Value);
}
}
function GMsetValue(name, Value) {
localStorage.setItem(name, Value);
}
function GMgetValue(name) {
let StorageValue = localStorage.getItem(name);
return StorageValue;
}
function GMdeleteValue(name) {
localStorage.removeItem(name);
}
function GMaddStyle(css) {
var addStyle = document.createElement('style');
addStyle.textContent = css;
var doc = document.head || document.documentElement;
doc.appendChild(addStyle);
};
function GMaddScript(js) {
let script = document.createElement('script');
script.src = js;
var docu = document.head || document.documentElement;
docu.appendChild(script);
};
function GMaddlink(linkcss) {
let mylink = document.createElement('link');
mylink.href = linkcss;
mylink.rel = 'stylesheet';
var docl = document.head || document.documentElement;
docl.appendChild(mylink);
};
function GMopenInTab(url, open_in_background) {
if (typeof GM_openInTab === "function") {
GM_openInTab(url, open_in_background);
} else {
GM.openInTab(url, open_in_background);
}
};
function Addjs() {
GMaddScript("https://www.layuicdn.com/layui/layui.js");
GMaddlink("https://www.layuicdn.com/layui/css/layui.css");
}
if(GMiosgetValue("isuser") == 1){
switch (host) {
case 'v.qq.com':
PlayID = "#mod_player";
Addjs();
addbtn();
GMsetValue("playwork","1")
console.log('已进入腾讯');
setInterval(function() {
let e = document.querySelector("#mask_layer");
if (e != null) e.parentNode.removeChild(e);
let f = document.querySelector(".mod_vip_popup");
if (f != null) f.parentNode.removeChild(f);
},
100);
break;
case 'v.youku.com':
Addjs();
PlayID = "#player";
addbtn();
console.log('已进入优酷')
break;
case 'www.iqiyi.com':
Addjs();
PlayID = "#flashbox";
addbtn();
GMsetValue("playwork","1")
console.log('已进入爱奇艺')
break;
case 'www.mgtv.com':
Addjs();
PlayID = "#mgtv-player-wrap";
addbtn();
GMsetValue("playwork","1")
console.log('已进入芒果TV')
break;
case 'www.bilibili.com':
Addjs();
PlayID = "#player_module";
if (playhref.indexOf("www.bilibili.com/bangumi/play") != -1) {
addbtn();
GMsetValue("playwork","1")
}
var Bv = null;
var pathname = window.location.pathname;
if (pathname.indexOf("/medialist/play/watchlater/") != -1) {
Bv = pathname.replace("/medialist/play/watchlater/","").replace("/","");
}else{
Bv = pathname.replace("/video/","").replace("/","");
}
console.log(Bv)
if(Bv!=null){
Getaid(Bv);
}
console.log('已进入bilibili')
break;
case 'www.le.com':
Addjs();
PlayID = "#le_playbox";
addbtn();
GMsetValue("playwork","1")
console.log('已进入乐视TV')
break;
case 'laisoyiba.com':
setInterval(function() {
let e = document.querySelector(".jconfirm-scrollpane");
if (e != null) e.parentNode.removeChild(e);
},
100);
break;
case 'm.v.qq.com':
PlayID = "#player";
addmobbtn();
GMsetValue("playwork","1")
setInterval(function() {
let e = document.querySelector("#vipPosterContent");
if (e != null) e.parentNode.removeChild(e);
let f = document.querySelector(".at-app-banner");
if (f != null) f.parentNode.removeChild(f);
},
100);
console.log('已进入手机腾讯');
break;
case 'm.youku.com':
PlayID = "#player";
setInterval(function() {
let e = document.querySelector(".callEnd_box");
if (e != null) e.parentNode.removeChild(e);
},
100);
addmobbtn();
console.log('已进入手机优酷');
break;
case 'm.iqiyi.com':
PlayID = ".m-video-player-wrap";
addmobbtn();
GMsetValue("playwork","1")
console.log('已进入手机爱奇艺');
break;
case 'm.mgtv.com':
PlayID = ".video-area";
setInterval(function() {
let e = document.querySelector(".mg-down-btn");
if (e != null) e.parentNode.removeChild(e);
let f = document.querySelector(".ad-fixed-bar");
if (f != null) f.parentNode.removeChild(f);
},
100);
addmobbtn();
GMsetValue("playwork","1")
console.log('已进入手机芒果TV');
break;
case 'm.bilibili.com':
PlayID = "#bofqi";
if (playhref.indexOf("m.bilibili.com/bangumi/play") != -1) {
addmobbtn();
GMsetValue("playwork","1")
}
console.log('已进入手机bilibili');
break;
case 'm.le.com':
PlayID = "#j-player";
setInterval(function() {
document.querySelector("#j-player").style.display = "block";
let e = document.querySelector("#j-vipLook");
if (e != null) e.parentNode.removeChild(e);
let f = document.querySelector(".daoliu1");
if (f != null) f.parentNode.removeChild(f);
},
100);
addmobbtn();
GMsetValue("playwork","1")
console.log('已进入手机乐视TV');
break;
case 'item.taobao.com':
qrname = "淘宝";
nodeid = "#J_PromoPrice";
goodid = Getgoodid("id");
method = "taobao";
action = "getlink";
Getcoupon(goodid);
console.log(goodid);
console.log('已进入淘宝');
break;
case 'detail.tmall.com':
qrname = "淘宝";
nodeid = "#J_PromoPrice";
goodid = Getgoodid("id");
method = "taobao";
action = "getlink";
Getcoupon(goodid);
console.log(goodid);
console.log('已进入天猫');
break;
case 'item.yiyaojd.com':
qrname = "京东";
nodeid = "#choose-attrs";
goodid = geturlid(playhref);
method = "jd";
action = "getdetails";
Getcoupon(goodid);
console.log(goodid) ;
console.log('已进入京东医药');
break;
case 'item.jd.com':
qrname = "京东";
nodeid = "#choose-attrs";
goodid = geturlid(playhref);
method = "jd";
action = "getdetails";
Getcoupon(goodid);
console.log(goodid);
console.log('已进入京东');
break;
case 'npcitem.jd.hk':
qrname = "京东";
nodeid = "#choose-attrs";
goodid = geturlid(playhref);
method = "jd";
action = "getdetails";
Getcoupon(goodid);
console.log(goodid);
console.log('已进入京东国际');
break;
case 'www.douyin.com':
console.log('已进入抖音') ;
nodeid =".xg-right-grid"
videoid = geturlid(playhref);
douyinbtn(videoid);
console.log(geturlid(playhref))
break;
case 'www.kuaishou.com':
console.log('已进入快手') ;
nodeid =".right"
videoid = geturlid(playhref);
kuaishoubtn(videoid);
console.log(geturlid(playhref))
break;
case 'www.ixigua.com':
console.log('已进入西瓜视频') ;
nodeid =".video_action"
videoid = geturlid(playhref);
window.onload=function() {
xiguabtn(videoid);
}
GMsetValue("playwork","1")
console.log(geturlid(playhref))
break;
}
}else{
let userhtml = '';
if(com == "wap"){
var btncss="margin: 0 20px;";
var tybtncss="width: 130px;"
}else{
btncss="margin: 0 90px;";
tybtncss="width: 180px;"
}
userhtml += '
用户使用协议
'
userhtml += ''
userhtml +='
感谢您对本脚本的信任,为了更好的使用本脚本,在此,我们郑重提醒您:
'
userhtml +='
1.有能力的情况,请大家支持正版
'
userhtml +='
2.本脚本仅用学习交流,请勿用于非法、商业用途,使用本脚本下载的内容请勿进行复制、传播等侵权行为
'
userhtml +='
3.VIP视频解析中所用到的解析接口全部收集自互联网(源码可见),版权问题请联系相关解析接口所有者,脚本不承担相关责任
'
userhtml +='
4.视频下载内容均来自平台本身API接口,不存在破解情况,如果侵权请邮件(188872170@qq.com)联系删除。
'
userhtml +='
5.点击我同意后,即已代表您已经充分了解相关问题,否则后果自负,特此声明!
'
userhtml +='
'
console.log(userhtml)
let y = document.createElement('div');
y.setAttribute("id","user");
y.innerHTML = userhtml;
y.setAttribute("style","position: fixed;top: 50%;left: 50%;width: 480px;max-width: 80%;height: 468px;border-radius: 10px;background-image: url(https://static.hitv.com/pc/img/601d3ee.png),url(https://static.hitv.com/pc/img/21b00eb.png);background-position: 0 0,100% 280px;background-repeat: no-repeat;background-color: #fff;-webkit-box-shadow: 0 0 80px rgba(0,0,0,.25);box-shadow: 0 0 80px rgba(0,0,0,.25);opacity: 1;-webkit-transform: translate(-50%,-50%);-ms-transform: translate(-50%,-50%);transform: translate(-50%,-50%);z-index: 99999;");
document.body.appendChild(y);
document.querySelector("#ty").addEventListener('click',function() {
GMiossetValue("isuser","1");
window.location.reload();
})
document.querySelector("#bty").addEventListener('click',function() {
GMiossetValue("isuser","0");
document.body.removeChild(document.querySelector("#user"));
})
console.log(y)
}
if (GMgetValue("playwork") == 1) {
setInterval(function() {
var workurl = window.location.href;
if (playhref != workurl) {
console.log('网址改变了');
playhref = workurl;
window.location.reload()
}
},
500);
}
function CheckAutoplay() {
if (GMgetValue("AutoPlay") == 1) {
autoplay();
Toast('2秒后自动解析视频',2000);
}
}
function sleep(time) {
return new Promise(resolve => setTimeout(resolve, time));
}
function Playlist() {
for (let i = 0; i < playList.length; i++) {
if (playList[i].category == 1) {
Insidehtml += "" + playList[i].name + "";
selecthtml += ""
if (playList[i].showType == 3) {
mobhtml += "" + playList[i].name + "";
}
} else {
Outsidehtml += "" + playList[i].name + "";
}
}
console.log(mobhtml);
}
async function addmobbtn() {
await sleep(1000);
CheckAutoplay();
Playlist();
var offautohtml = '关闭自动解析'
var onautohtml = '开启自动解析'
var autohtml;
if (GMgetValue("AutoPlay") == 1) {
autohtml = offautohtml
} else {
autohtml = onautohtml
}
var mainhtml = '' + mobhtml + '
*开启自动解析后,最后一次选择的接口即自动解析默认接口
*本脚本仅学习使用,解析接口收集于网络,版权问题联系接口制作者,请勿相信解析接口显示的任何广告
'
var btnhtml = '' + mainhtml;
var mb = document.createElement('div');
mb.innerHTML = btnhtml;
document.body.appendChild(mb);
var css = `body, html {
font-family: "PingFang SC","微软雅黑","Microsoft YaHei",Helvetica,"Helvetica Neue",Tahoma,Arial,sans-serif;
}
.elevator {
position: fixed;
padding: 0 10px;
top: 80%;
margin-top: -140px;
right: 10px;
z-index: 899;
background: rgb(64 64 64 / 81%);
box-shadow: 1px 1px 8px 1px rgb(98 99 99 / 34%);
border-radius: 30px;
}
.elevator a {
position: relative;
display: block;
width: 26px;
height: 56px;
font-size: 22px;
line-height: 20px;
color: #b5b9bc;
box-sizing: border-box;
text-align: center;
}
.elevator a+a:after {
position: absolute;
top: 0;
left: 50%;
margin-left: -12px;
content: '';
width: 24px;
border: 1px solid #F3F5F7;
}
.elevator a:hover {
color: #14191e;
}
.elevator .icon {
font-size: 24px;
line-height: 56px;
color: #199b6d;
width: 28px;
height: 28px;
margin: 14px 0;
}
.elevator .icon:hover {
color: #14191e;
}
.elevator a span {
display: none;
padding: 14px 0;
font-size: 12px;
color: #fff;
line-height: 14px;
}
.elevator .elevator-msg:hover .icon,
.elevator .elevator-faq:hover .icon, {
display: none;
}
.elevator .elevator-msg:hover span,
.elevator .elevator-faq:hover span, {
display: inline-block;
}
.mob-main{
display: none;
}
.shaw{
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 900;
background: rgba(0,0,0,0.3);
}
.listmian{
position: fixed;
width:100%;
height:400px;
bottom: 0;
z-index: 901;
border-radius: 14px 14px 0 0;
background: #fff;
box-shadow: 0 -8px 10px 0 rgba(0,0,0,.09);
}
.listmian-tit{
background-color: #f5f5f5;
height: 60px;
line-height: 60px;
position: relative;
border-radius: 14px 14px 0 0;
}
.listmian-tit p {
color: #222;
font-size: 18px;
font-weight: 600;
margin-left: 20px;
float: left;
}
.listmian-tit .title_right {
float: right;
margin-right: 20px;
}
.listmian-tit .title_right span{
display: inline-block;
color: #222;
font-size: 14px;
vertical-align: middle;
font-weight: 900;
}
.title_right img{
display: inline-block;
width: 12px;
height: 12px;
margin-left: 3px;
vertical-align: middle;
}
.list{
margin: 10px 20px;
display:flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
height: 240px;
overflow-y: scroll;
align-content: flex-start
}
.list span{
display: inline-block;
padding: 10px 5px;
margin: 0 0 10px 0;
background-color: #f6f8fa;
border-radius: .07rem;
min-width: 100px;
text-align: center;
font-size: 12px;
line-height: 18px;
}
.jiexiselect{
color: #ff6022;
}
.tips{
margin: 10px 20px;
}
.tips span{
font-size: 12px;
font-weight: 700;
color: #333;
}
.tips .ico{
margin-right: 5px;
color: #ff6022;
}
`;
GMaddStyle(css);
if (GMgetValue('selectid') != null) {
document.querySelector('#' + GMgetValue('selectid')).classList.add("jiexiselect");
}
document.querySelector('#playing').addEventListener('click',
function() {
autoplay();
Toast('2秒后自动解析视频',2000);
});
document.querySelector('#Showmain').addEventListener('click',function() {
document.querySelector(".mob-main").style.display = "block"
});
document.querySelector('.shaw').addEventListener('click',function() {
document.querySelector(".mob-main").style.display = "none"
})
document.querySelector('#autobtn').addEventListener('click',function() {
if (GMgetValue('AutoPlay') == 1) {
this.innerHTML = onautohtml;
GMsetValue('AutoPlay', '0');
} else {
this.innerHTML = offautohtml;
GMsetValue('AutoPlay', '1');
Toast('请选择自动解析接口',2000);
};
});
var list = document.getElementsByClassName('mob-jiexi');
for (var i in list) {
list[i].addEventListener('click',function() {
Toast('开始解析视频',2000);
if (GMgetValue('selectid') != null) {
document.querySelector('#' + GMgetValue('selectid')).classList.remove("jiexiselect");
}
var playObjecturl = this.getAttribute("data-url");
var playid = this.getAttribute("id");
console.log(playid);
GMsetValue('selectid', playid);
GMsetValue('selecturl', playObjecturl);
this.classList.add("jiexiselect");
document.querySelector(".mob-main").style.display = "none";
let url = playObjecturl + window.location.href;
console.log(url);
GoPlay(url);
})
}
}
async function addbtn() {
await sleep(1000);
CheckAutoplay();
var btnhtml = '';
var b = document.createElement('div');
b.innerHTML = btnhtml;
document.body.appendChild(b);
console.log("加载成功");
var css = `body, html {
font: 14px/1.5 "PingFang SC","微软雅黑","Microsoft YaHei",Helvetica,"Helvetica Neue",Tahoma,Arial,sans-serif;
color: #1c1f21;
height: 100%;
}
.elevator {
position: fixed;
padding: 0 16px;
top: 55%;
margin-top: -140px;
left: 0;
z-index: 9999;
background: rgb(134 134 134 / 40%);
box-shadow: 1px 1px 8px 1px rgb(98 99 99 / 34%);
border-radius: 0 8px 8px 0;
}
.elevator a {
position: relative;
display: block;
width: 26px;
height: 56px;
font-size: 22px;
line-height: 20px;
color: #b5b9bc;
box-sizing: border-box;
text-align: center;
}
.elevator a+a:after {
position: absolute;
top: 0;
left: 50%;
margin-left: -12px;
content: '';
width: 24px;
border: 1px solid #F3F5F7;
}
.elevator a:hover {
color: #14191e;
}
.elevator .icon {
font-size: 24px;
line-height: 56px;
color: #199b6d;
width: 28px;
height: 28px;
margin: 14px 0;
}
.elevator .icon:hover {
color: #14191e;
}
.elevator a span {
display: none;
padding: 14px 0;
font-size: 12px;
color: #fff;
line-height: 14px;
}
.elevator .elevator-msg:hover .icon,
.elevator .elevator-faq:hover .icon, {
display: none;
}
.elevator .elevator-msg:hover span,
.elevator .elevator-faq:hover span, {
display: inline-block;
}
.jiexi{
padding: 5px 10px;
background: #e5e5e5a3;
font-size: 12px;
border-radius: 4px;
margin:0 5px 10px 5px;
color: #505050;
display: inline-block;
width: 70px;
text-align: center;
}
.jiexiselect{
color: #fff;
background: #fc5531;
}
.scan{
width:164px;
display:inline-block;
text-align: center;
}
.scan img{
width: 140px;
margin: 0 5px 10px 5px;
}
.scan h1{
font-size: 18px;
font-weight: bold;
margin: 0px 0 20px 0;
}
.scan p{
margin: 0;
color: #666;
font-size: 14px;
}
.layui-layer-btn0{
border: 1px solid #dedede!important;
background-color: #fff!important;
color: #333!important;
}
.layui-layer-btn1{
border-color: #1E9FFF!important;
background-color: #1E9FFF!important;
color: #fff!important;
}
`;
GMaddStyle(css);
Playlist();
GMdeleteValue('selectid');
document.querySelector('#playing').onclick = function() {
autoplay();
Toast('2秒后自动解析视频',2000);
};
document.querySelector('#PlayMain').onclick = function() {
console.log("点击成功");
jiexi = GMgetValue('AutoPlay') == 1 ? "checked": "";
layer.tab({
area: ['560px', '400px'],
id: "sett2",
btn: ['取消', '保存设置'],
btnAlign: 'c',
tab: [{
title: '内嵌播放',
content: '' + Insidehtml + '
智狐百宝箱
微信扫描上方二维码
关注我
从此不迷路
'
},
{
title: '跳转播放',
content: '' + Outsidehtml + '
智狐百宝箱
微信扫描上方二维码
关注我
从此不迷路
'
},
{
title: '解析设置',
content: '智狐百宝箱
微信扫描上方二维码
关注我
从此不迷路
'
}],
btn2: function(index, layero) {
layero.find("option:selected").each(function() {
if (this.getAttribute("name") == "select") {
let selectedid = this.getAttribute("value");
let selecturl = this.getAttribute("data-url");
GMsetValue('selectedid', selectedid);
GMsetValue('selecturl', selecturl);
console.log(GMgetValue('selectedid'));
}
});
layero.find("input").each(function() {
if (this.getAttribute("name") == "switch") {
let onswitch = document.querySelector("#autoplay+div").getAttribute("class");
if (onswitch.indexOf("layui-form-onswitch") != -1) {
GMsetValue('AutoPlay', '1');
autoplay();
Toast('2秒后自动解析视频',2000);
} else {
GMsetValue('AutoPlay', '0');
}
}
});
}
});
if (GMgetValue('selectid') != null) {
document.querySelector('#' + GMgetValue('selectid')).className += " jiexiselect";
}
if (GMgetValue('selectedid') != null) {
document.querySelector('#selectjiexi').value = GMgetValue('selectedid');
}
var inList = document.getElementsByClassName('inside');
for (var i = 0; i < inList.length; i++) {
inList[i].addEventListener('click',
function() {
if (GMgetValue('selectid') != null) {
document.querySelector('#' + GMgetValue('selectid')).classList.remove("jiexiselect");
}
Toast('开始解析视频',2000);
var playObjecturl = this.getAttribute("data-url");
var playid = this.getAttribute("id");
console.log(playid);
GMsetValue('selectid', playid);
console.log(GMgetValue('selectid'));
this.className = "jiexi inside jiexiselect";
document.body.removeChild(document.querySelector(".layui-layer-tab"));
document.body.removeChild(document.querySelector(".layui-layer-shade"));
let url = playObjecturl + window.location.href;
console.log(url);
GoPlay(url);
});
}
var outList = document.getElementsByClassName('outside');
console.log(outList);
for (var u = 0; u < outList.length; u++) {
outList[u].addEventListener('click',
function() {
let playObjecturl = this.getAttribute("data-url");
let Outsideurl = playObjecturl + window.location.href;
document.body.removeChild(document.querySelector(".layui-layer-tab"));
document.body.removeChild(document.querySelector(".layui-layer-shade"));
console.log(Outsideurl);
window.open(Outsideurl);
});
}
}
}
async function autoplay() {
await sleep(1500);
var f = "";
var autoplayurl;
if (GMgetValue('selecturl') != null) {
f = GMgetValue('selecturl');
}
if (f != "") {
autoplayurl = f + window.location.href;
} else {
let defurl = playList[0].url;
console.log(defurl);
autoplayurl = defurl + window.location.href;
}
GoPlay(autoplayurl);
}
function GoPlay(e) {
let playurl = e;
var iframeDivCss = "width:100%;height:100%;"
if (host.indexOf("m.iqiyi.com") != -1) {
iframeDivCss += "position: absolute;top: 0;right: 0;bottom: 0;left: 0;"
}
var videoPlayer = "";
var PlayCount;
var PlayPromise = new Promise(function(resolve, reject){
PlayCount = setInterval(function() {
var a = document.querySelector(PlayID).children;
if(a != null ){
resolve(a);
console.log(a)
}
console.log("监听")
},1000);
});
PlayPromise.then(function(msg){
clearInterval(PlayCount);
document.querySelector(PlayID).innerHTML = "";
document.querySelector(PlayID).innerHTML = videoPlayer;
});
}
function Getgoodid(gid) {
var reg = new RegExp("(^|&)" + gid + "=([^&]*)(&|$)");
var s = window.location.search.substr(1).match(reg);
if (s != null) {
return s[2];
}
return "";
}
function geturlid(url) {
if (url.indexOf("?") != -1) {
url = url.split("?")[0]
}
if (url.indexOf("#") != -1) {
url = url.split("#")[0]
}
var text = url.split("/");
var id = text[text.length - 1];
id = id.replace(".html", "");
return id
}
function Getcoupon(t) {
if (t != "") {
GM_xmlhttpRequest({
method: "GET",
url: "http://tool.zhihupe.com/coupon/getcoupon.php?m=" + method + "&act=" + action + "&goodid=" + t,
headers: {
"Content-Type": "text/html; charset=utf-8"
},
onload: function(res) {
var json = JSON.parse(res.responseText);
var code = json.code;
console.log(json);
if (method == "taobao") {
if (code == "0") {
var longTpwd = json.data.longTpwd
var couponUrl = longTpwd.match(/https:\/\/[\d\w\.\/]+/)[0];
console.log(longTpwd);
console.log(couponUrl);
var couponInfo = json.data.couponInfo;
var couponEndTime = json.data.couponEndTime;
var actualPrice = json.data.actualPrice;
addcoupon(couponUrl, couponInfo, couponEndTime, actualPrice)
}
} else if (method == "jd") {
if (code == "0") {
var couponConditions = json.data[0].couponConditions;
var couponAmount = json.data[0].couponAmount;
var jdcouponInfo;
if (couponConditions != "") {
jdcouponInfo = "满" + couponConditions + "元减" + couponAmount + "元"
} else {
jdcouponInfo = "无门槛减" + couponAmount + "元"
}
var jdcouponEndTime = json.data[0].couponEndTime
var jdactualPrice = json.data[0].actualPrice;
var couponLink = json.data[0].couponLink;
addcoupon(couponLink, jdcouponInfo, jdcouponEndTime, jdactualPrice)
}
}
},
onerror: function(err) {
console.log(err);
}
});
} else {
console.log('商品id为空!');
}
}
function addcoupon(u, f, t, p) {
var imgurl = "http://v.zhihupe.com/enQrcode?url=" + u
var mainhtml
if (f != "" && u != "") {
mainhtml = '手机' + qrname + '扫码领取
优惠劵:' + f + '
有效期至:' + t + '
'
} else {
mainhtml = '暂无优惠券
'
}
var couponhtml = '' + mainhtml + '
';
document.querySelector(nodeid).outerHTML += couponhtml
}
function Getaid(Bv){
console.log(Bv)
let BiliPromise = new Promise(function(resolve, reject){
GM_xmlhttpRequest({
url:"http://api.bilibili.com/x/web-interface/archive/stat?bvid="+Bv,
method :"GET",
headers: {
"Content-type": "application/json"
},
onload: function(res) {
let obj = JSON.parse(res.responseText);
console.log(obj);
if(obj.code ==0){
let aid = obj.data.aid;
resolve(aid);
}
},
onerror: function(err) {
console.log(err);
}
});
});
BiliPromise.then(function (aid){
GM_xmlhttpRequest({
url:"https://api.bilibili.com/x/web-interface/view?aid="+aid,
method :"GET",
headers: {
"Content-type": "application/json"
},
onload: function(res) {
let obj = JSON.parse(res.responseText);
if(obj.code == 0){
let arr = obj.data.pages;
console.log(arr);
var Bilihtml=""
for (var i = 0; i < arr.length; i++) {
Bilihtml += 'P'+arr[i].page+''+arr[i].part+'
下载
';
}
addbililist(Bilihtml);
}else{
Toast("获取下载列表失败");
}
},
onerror: function(err) {
console.log(err);
}
});
})
}
function addbililist(html) {
let downhtml =''
let iCount;
let AddBiPromise = new Promise(function(resolve, reject){
iCount = setInterval(function() {
var a = document.querySelector("#danmukuBox");
if(a != null ){
resolve(a)
}
console.log("监听")
},1000);
});
AddBiPromise.then(function(msg){
clearInterval(iCount);
var b = document.createElement('div');
b.innerHTML = downhtml;
b.setAttribute("class","multi-page report-wrap-module report-scroll-module");
b.style.margin = "0 0 10px 0";
msg.after(b);
bilibilidown();
});
}
function bilibilidown(){
document.querySelector("#sanlian") .addEventListener('click',function() {
console.log("一键三连");
document.querySelector(".like").click();
document.querySelector(".coin").click();
});
let biliList = document.getElementsByClassName('bilidown');
console.log(biliList);
for (var i = 0; i < biliList.length; i++) {
biliList[i].addEventListener('click',function() {
let aid = this.getAttribute("data-aid");
let cid = this.getAttribute("data-cid");
let title = this.getAttribute("title");
GM_xmlhttpRequest({
url:"https://api.bilibili.com/x/player/playurl?avid="+aid+"&cid="+cid+"&qn=112",
method :"GET",
headers: {
"Content-type": "application/json"
},
onload: function(res) {
let obj = JSON.parse(res.responseText);
if(obj.code == 0){
window.open(obj.data.durl[0].url);
console.log(obj)
}else{
Toast("获取下载链接失败");
}
},
onerror: function(err) {
console.log(err);
}
});
});
}
}
function douyinbtn(d) {
let downhtml = '';
let iCount;
console.log(d);
let DYPromise = new Promise(function(resolve, reject){
iCount = setInterval(function() {
var a = document.querySelector(nodeid);
if(a != null ){
resolve(a)
}
console.log("监听")
},1000);
});
DYPromise.then(function(msg){
clearInterval(iCount);
var b = document.createElement('xg-icon');
b.innerHTML = downhtml;
b.setAttribute("class","xgplayer-autoplay-setting automatic-continuous");
b.setAttribute("id","downvideo");
document.querySelector(nodeid).appendChild(b);
getdouyinvideo(d)
});
}
function getdouyinvideo(d){
document.querySelector('#downvideo').addEventListener('click',function() {
Toast("正在获取视频文件",3000)
if (d != "") {
GM_xmlhttpRequest({
method: "GET",
url: "http://tool.zhihupe.com/douyin/api.php?videoid=" + d,
headers: {
"Content-Type": "text/html; charset=utf-8"
},
onload: function(res) {
var json=JSON.parse(res.responseText);
var filename = d+".mp4";
var url = json.downurl
console.log(json);
if (json.code == 1) {
Toast("视频获取成功",3000)
ToastDwon(url,filename);
}else{
Toast("视频文件获取失败",3000)
}
},
onerror: function(err) {
console.log(err);
}
});
} else {
console.log('视频id为空!');
}
});
}
function kuaishoubtn(d) {
let downhtml = '下载
';
let iCount;
let KsPromise = new Promise(function(resolve, reject){
iCount = setInterval(function() {
var a = document.querySelector(nodeid);
if(a != null ){
resolve(a)
}
console.log(a)
},1000);
});
KsPromise.then(function(msg){
clearInterval(iCount);
var b = document.createElement('div');
b.innerHTML = downhtml;
b.setAttribute("class","kwai-player-volume-container player-bar-volume show-volume-slide");
b.setAttribute("data-v-0c78ed39","");
b.setAttribute("data-v-5037d859","");
b.setAttribute("data-v-2475c26c","");
b.setAttribute("data-v-56544f8e","");
b.setAttribute("id","downvideo");
let node = document.querySelector(nodeid)
node.insertBefore(b,node.childNodes[0]);
if(playhref.indexOf("short-video")!=-1){
var e = document.querySelector(".total")
e.style.right ="180px"
var f = document.querySelector(".player-bar-progress")
f.style.width ="calc(100% - 318px)";
}
getksvideo(d)
});
}
function getksvideo(d){
document.querySelector('#downvideo').addEventListener('click',function() {
Toast("正在获取视频文件",1000)
let videonode = document.querySelector("video")
let src =videonode.getAttribute("src")
let pausebtn = document.querySelector(".pause-icon");
if(pausebtn != null){
pausebtn.click();
}
if(src.indexOf("blob:") != -1){
GM_xmlhttpRequest({
url:"https://www.kuaishou.com/graphql",
method :"POST",
data:'{"operationName":"visionVideoDetail","variables":{"photoId":"'+d+'","page":"detail"},"query":"query visionVideoDetail($photoId: String, $type: String, $page: String, $webPageArea: String) {\\n visionVideoDetail(photoId: $photoId, type: $type, page: $page, webPageArea: $webPageArea) {\\n status\\n type\\n author {\\n id\\n name\\n following\\n headerUrl\\n __typename\\n }\\n photo {\\n id\\n duration\\n caption\\n likeCount\\n realLikeCount\\n coverUrl\\n photoUrl\\n liked\\n timestamp\\n expTag\\n llsid\\n viewCount\\n videoRatio\\n stereoType\\n croppedPhotoUrl\\n manifest {\\n mediaType\\n businessType\\n version\\n adaptationSet {\\n id\\n duration\\n representation {\\n id\\n defaultSelect\\n backupUrl\\n codecs\\n url\\n height\\n width\\n avgBitrate\\n maxBitrate\\n m3u8Slice\\n qualityType\\n qualityLabel\\n frameRate\\n featureP2sp\\n hidden\\n disableAdaptive\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n tags {\\n type\\n name\\n __typename\\n }\\n commentLimit {\\n canAddComment\\n __typename\\n }\\n llsid\\n danmakuSwitch\\n __typename\\n }\\n}\\n"}'
,headers: {
"Content-type": "application/json"
},
onload: function(res) {
let obj=JSON.parse(res.responseText)
let src=obj.data.visionVideoDetail.photo.photoUrl;
if(res===null){
console.log('失败的id"',d)
}
Toast("视频获取成功",1000)
ToastDwon(src,d)
},
onerror: function(err) {
console.log(err);
}
});
}else{
Toast("视频获取成功",1000)
ToastDwon(src,d)
}
})
}
function xiguabtn(d) {
let downhtml = '下载';
let iCount;
console.log(d);
var a = document.querySelector(nodeid);
if(a != null ){
var b = document.createElement('button');
b.innerHTML = downhtml;
b.setAttribute("class","video_action_item video_action_item--report video_action_item--triggerAnyWhere");
b.setAttribute("id","downvideo");
a.appendChild(b);
getxgvideo(d)
}
}
function getxgvideo(d){
if(playhref){
document.querySelector('#downvideo').addEventListener('click',function() {
Toast("正在获取视频文件",1000)
GM_xmlhttpRequest({
url:"http://47.99.158.118/video-crack/v2/parse?content="+window.location.href,
method :"POST",
headers: {
"Content-type": "application/json"
},
onload: function(res) {
let obj=JSON.parse(res.responseText)
if(obj.code == 0){
Toast("视频获取成功",1000)
ToastDwon(obj.data.url,d)
}else {
ToastDwon("此视频不支持解析")
}
},
onerror: function(err) {
console.log(err);
}
});
})
}
}
function ToastDwon(videourl,filename) {
var m = document.createElement('div');
m.innerHTML =' 下载视频
';
m.setAttribute('id','dwon');
m.style.cssText = "max-width: 480px;min-width: 150px;padding: 0 25px;height: 200px;color: #323442;line-height: 20px;border-radius: 4px;position: fixed;top: 50%;left: 50%;transform: translate(-50%, -50%);z-index: 999998;background: #f8f9fd;font-size: 16px;";
document.body.appendChild(m);
document.querySelector("#close").addEventListener('click',function() {
document.body.removeChild(document.querySelector("#dwon"))
})
document.querySelector("#videofile").addEventListener('click',function() {
Toast("创建下载需要时间,长时间未创建,点击浏览器打开,右键另存为",4000)
// GM_download({
// url:videourl+'.mp4',
// name: filename,
// saveAs: true, //布尔值,显示"保存为"对话框
// onerror: function (error) {
// Toast("下载出错,点击浏览器打开手动保存",3000)
// },
// onprogress: (pro) => {
// },
// ontimeout: () => {
// //如果此下载由于超时而失败,则要执行的回调
// Toast("下载超时,点击浏览器打开手动保存",3000)
// },
// onload: () => {
// Toast("下载完成",3000)
// }
// })
fetch(videourl+'.mp4').then(res => res.blob()).then(blob => {
const a = document.createElement('a');
document.body.appendChild(a)
a.style.display = 'none'
const url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
document.body.removeChild(a)
window.URL.revokeObjectURL(url);
});
})
}
// Your code here...
})();